home *** CD-ROM | disk | FTP | other *** search
- Short: Retargetable audio v4.14, Developer's Archive
- Author: Martin Blom <lcs@lysator.liu.se>
- Uploader: Martin Blom <lcs@lysator.liu.se>
- Type: dev/misc
-
- This archive contains the developer documentation and
- example source code for AHI, both for programmer who wish
- to use AHI in their own applications and those who want
- to write hardware drivers.
-
- Changes since last release
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- Bug fixes.
- The Paula driver can now be told to swap left and right channel.
- Toccata driver updated, should work fine on Draco Motion again.
- Added Melody to the distribution.
-
-
-
- TITLE
-
- AHI Audio system
-
- VERSION
-
- Release 4
-
- AUTHOR
-
- Martin Blom <lcs@lysator.liu.se>
-
- DESCRIPTION
-
- Retargetable Audio for AmigaOS
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
-
- (When refering to this software, the correct term is
- 'AHI audio system' or just 'AHI', never 'Audio Hardware
- Interface'! 'AHI' is pronounced 'atchii', as in 'God bless!'.)
-
- Starting with version 3 of AHI, the MC68000 processor is also supported.
- However, many features are lacking:
-
- · Very limited volime control when using 16 bit samples
- · No HiFi mixing routines are available.
- · No stereo samples
- · No DSP effects are available.
- · Less precision on some calculations
- · Slower
-
- As you can see, this version is very primitive. Get yourself an
- accelerator! I cannot guarantee that I will continue to support this
- processor in the future.
-
- Quick overview
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
-
- * Driver based
-
- Each supported sound card is controlled by a library-based audio
- driver. For a 'dumb' sound card, a new driver should be written in
- a few hours. For a 'smart' sound card, it is possible to utilize an
- on-board DSP, for example, to maximize performance and sound quality.
- For sound cards with own DSP but little or no memory, it is possible
- to use the main CPU to mix channels and do the post-processing
- with the DSP. Available today are drivers for
-
- · Aura (sampler only)
- · Delfina DSP and Delfina Lite
- · DraCo Motion
- · Paula (8/14/14c bit)
- · Prelude
- · Toccata
- · Wavetools
- · 8SVX (mono) and AIFF/AIFC (mono & stereo) sample render
-
- * Fast, powerful mixing routines (yeah, right... haha)
-
- The device's mixing routines mix 8- or 16-bit signed samples, both
- mono and stereo, located in Fast-RAM and outputs 16-bit mono or stereo
- (with stereo panning if desired) data, using any number of channels
- (as long as 'any' means less than 128...). Tables can be used speed
- the mixing up (especially when using 8-bit samples). The samples can
- have any length (including odd) and can have any number of loops.
-
- * Support for non-realtime mixing
-
- By providing a timing feature, it is possible to create high-
- quality output even if the processing power is lacking, by saving
- the output to disk, for example as an IFF AIFF or 8SXV file.
- There are so-called HiFi mixing routines that can be used, which
- use linear interpolation and gives 32 bit output.
-
- * Audio database
-
- Uses ID codes, much like Screenmode IDs, to select the many
- parameters that can be set. The functions to access the audio
- database are not too different from those in 'graphics.library'.
- The device also features a requester to get an ID code from the
- user.
-
- * Both high- and low-level protocol
-
- By acting both like a device and a library, AHI gives the programmer
- a choice between full control and simplicity. The device API allows
- several programs to use the audio hardware at the same time, and
- the AUDIO: dos-device driver makes playing and recording sound very
- simple for both the programmer and user.
-
- * Future Compatible
-
- When AmigaOS gets device-independent audio worth it's name, it should
- not be too difficult to write a driver for AHI, allowing applications
- using 'ahi.device' to automatically use the new OS interface. At
- least I hope it wont.
-
- SPECIAL REQUIREMENTS
-
- AmigaOS release 2.
- MC68020 processor strongly recommended.
-
- AVAILABILITY
-
- Aminet, for example:
- ftp://ftp.germany.aminet.org/pub/aminet/dev/misc/ahidev.lha
- ftp://ftp.germany.aminet.org/pub/aminet/mus/misc/ahiusr.lha
- ftp://ftp.germany.aminet.org/pub/aminet/docs/misc/ahiman.lha
-
- WWW:
- http://www.lysator.liu.se/~lcs/ahi.html
-
- PRICE
-
- Free. But if you use it in a shareware of commercial product,
- I would like a registered copy for me and each of the audio driver
- authors (this is merely a wish, you don't have to do it if you don't
- think we deserve it). See the AHI User's Guide for more information.
-
- DISTRIBUTABILITY
-
- Copyright ©1994-1997 Martin Blom.
- Freely distributable in unmodified form.
- See the AHI User's Guide for more information.
-
-
- ============================= Archive contents =============================
-
- Original Packed Ratio Date Time Name
- -------- ------- ----- --------- -------- -------------
- 632 274 56.6% 08-Aug-97 17:39:30 AHI.info
- 4978 2315 53.4% 19-Aug-97 18:34:56 +ahidev.readme
- 468 236 49.5% 08-Aug-97 17:39:30 +ahidev.readme.info
- 364 219 39.8% 21-Mar-97 20:13:22 +Copyright
- 468 229 51.0% 08-Aug-97 17:39:30 +Copyright.info
- 64846 17742 72.6% 19-Aug-97 17:48:14 +ahi.doc
- 75538 19025 74.8% 19-Aug-97 17:48:16 +ahi.guide
- 79403 19233 75.7% 19-Aug-97 17:48:20 +ahi.html
- 23055 6921 69.9% 19-Aug-97 17:48:22 +ahi_sub.doc
- 26982 7542 72.0% 19-Aug-97 17:48:24 +ahi_sub.guide
- 27939 7610 72.7% 19-Aug-97 17:48:24 +ahi_sub.html
- 49578 14427 70.9% 19-Aug-97 17:48:58 +devguide.guide
- 1373 437 68.1% 17-Sep-96 11:08:26 +asmfuncs.a
- 22993 5881 74.4% 29-Apr-97 09:39:48 +filesave.c
- 2432 966 60.2% 08-Sep-96 14:26:28 +filesave.h
- 594 279 53.0% 08-Sep-96 14:26:42 +filesave.i
- 2074 415 79.9% 02-Jun-97 12:26:46 +prefsfile.a
- 1525 621 59.2% 03-Jul-97 16:04:22 +smakefile
- 920 372 59.5% 05-Jul-97 12:39:18 +macros.i
- 408 172 57.8% 05-Jul-97 16:49:50 +Makefile
- 362 107 70.4% 05-Jul-97 15:50:02 +debug.a
- 83936 20951 75.0% 03-Aug-97 21:02:44 +paula_audio.a
- 7050 623 91.1% 22-Jun-97 13:45:52 +prefsfile.a
- 998 415 58.4% 07-Jul-97 23:16:50 +smakefile
- 7029 2218 68.4% 27-May-97 21:23:40 +asmfuncs.a
- 3038 418 86.2% 18-May-97 15:53:12 +prefsfile.a
- 1452 631 56.5% 12-Aug-97 21:39:32 +smakefile
- 19507 5044 74.1% 13-Aug-97 06:43:12 +toccata.c
- 1046 417 60.1% 23-Apr-97 21:19:50 +toccata.h
- 649 301 53.6% 23-Apr-97 21:19:54 +toccata.i
- 5794 2372 59.0% 23-Dec-95 12:19:54 +dad_audio.i
- 1098 625 43.0% 03-Jul-97 16:36:20 +log.ascii
- 98 74 24.4% 08-Feb-97 19:20:50 +makeit
- 2130 385 81.9% 03-Jul-97 16:34:04 +prefsfile.a
- 487 260 46.6% 03-Jul-97 16:35:16 +smakefile
- 693 403 41.8% 15-Feb-97 01:29:44 +wavetools.audio.readme
- 26557 6912 73.9% 03-Jul-97 16:32:26 +wavetools_audio.a
- 987 506 48.7% 09-Apr-97 01:54:16 +AHI-Handler.DICE
- 30792 7674 75.0% 09-Apr-97 01:55:50 +main.c
- 3960 1248 68.4% 12-Mar-97 16:28:54 +main.h
- 60110 15947 73.4% 09-Apr-97 01:55:50 +main.c,v
- 199 137 31.1% 05-Jul-97 16:54:20 +smakefile
- 407 173 57.4% 05-Jul-97 16:55:20 +Makefile
- 2916 1945 33.2% 19-Aug-97 17:38:28 +PlayTest
- 3579 1451 59.4% 08-Apr-97 23:34:36 +PlayTest.c
- 138 119 13.7% 26-Mar-97 02:07:36 +SCOPTIONS
- 306 168 45.0% 02-Jul-97 10:29:48 +smakefile
- 2736 1833 33.0% 19-Aug-97 17:38:38 +RecordTest
- 2724 1136 58.2% 08-Apr-97 23:34:26 +RecordTest.c
- 138 119 13.7% 03-Nov-96 19:22:44 +SCOPTIONS
- 308 169 45.1% 02-Jul-97 10:29:54 +smakefile
- 2382 1044 56.1% 01-May-96 20:13:30 +GetAudioID.info
- 840 474 43.5% 01-May-96 20:13:30 +empty.ct
- 376 232 38.2% 01-May-96 20:13:30 +GetAudioID.catalog
- 2276 1394 38.7% 01-May-96 20:13:30 +GetAudioID
- 8438 3543 58.0% 01-May-96 20:13:30 +GetAudioID.guide
- 1831 1130 38.2% 01-May-96 20:13:30 +GetAudioID.guide.info
- 1903 600 68.4% 01-May-96 20:13:30 +GetAudioID.info
- 841 463 44.9% 01-May-96 20:13:30 +GAI.cd
- 11973 4497 62.4% 01-May-96 20:13:30 +GAI.S
- 2960 1893 36.0% 19-Aug-97 17:38:52 +BestAudioID
- 2655 977 63.2% 02-Jul-97 10:24:02 +BestAudioID.c
- 150 116 22.6% 28-Jun-97 18:30:02 +SCOPTIONS
- 309 172 44.3% 02-Jul-97 10:30:44 +smakefile
- 3540 2200 37.8% 19-Aug-97 17:39:04 +DoubleBuffer
- 7604 2069 72.7% 03-Aug-97 18:36:36 +DoubleBuffer.c
- 153 121 20.9% 30-Sep-96 09:38:30 +SCOPTIONS
- 310 172 44.5% 02-Jul-97 10:30:04 +smakefile
- 830 511 38.4% 03-Jul-97 11:09:14 +HardDiskRecord.catalog
- 3397 951 72.0% 03-Jul-97 11:09:14 +HardDiskRecord.ct
- 13035 3406 73.8% 16-Sep-96 15:51:34 +GUI.c
- 16250 2348 85.5% 18-Jul-96 09:17:18 +GUI.des
- 292 91 68.8% 18-Jul-96 09:17:18 +GUI.extras.h
- 2546 737 71.0% 16-Sep-96 15:51:36 +GUI.h
- 12676 6911 45.4% 19-Aug-97 17:39:30 +HardDiskRecord
- 19955 5951 70.1% 23-Jan-97 18:59:54 +HardDiskRecord.c
- 2612 616 76.4% 16-Sep-96 15:51:34 +HardDiskRecord.cd
- 2896 659 77.2% 16-Sep-96 15:51:34 +HardDiskRecord.ct
- 1657 679 59.0% 18-Jul-96 09:17:18 +HardDiskRecord.h
- 374 246 34.2% 22-Apr-97 00:04:08 +HardDiskRecord.readme
- 3307 1191 63.9% 18-Jul-96 09:17:18 +recordfunc.a
- 1081 487 54.9% 03-Jul-97 12:01:12 +smakefile
- 620 391 36.9% 19-Aug-97 17:39:40 +ahi.lib
- 1226 580 52.6% 02-Apr-97 21:48:46 +AHI_lib.c
- 219 124 43.3% 03-Jul-97 12:07:12 +smakefile
- 473 218 53.9% 05-Jul-97 16:55:26 +Makefile
- 2318 761 67.1% 17-Apr-97 01:56:22 +PT-AHIPlay.h
- 1901 708 62.7% 17-Apr-97 01:56:26 +PT-AHIPlay.i
- 4508 2571 42.9% 19-Aug-97 17:39:46 +PT-AHIPlay.o
- 29995 7592 74.6% 11-Jul-97 11:17:14 +PT-AHIPlay.s
- 29117 7798 73.2% 17-Apr-97 01:26:54 +PT-AHIPlay_old.s
- 113 98 13.2% 02-Jul-97 10:35:46 +smakefile
- 7070 2045 71.0% 29-Apr-97 00:07:16 +Class.c
- 3038 1044 65.6% 18-Apr-97 17:38:54 +Data.h
- 485 268 44.7% 28-Oct-96 21:54:00 +DT_code.a
- 299 158 47.1% 29-Apr-97 13:03:44 +DT_ident
- 7179 2160 69.9% 18-Apr-97 17:39:16 +LibCode.c
- 263 152 42.2% 29-Apr-97 00:04:48 +protracker.datatype_rev.h
- 312 177 43.2% 29-Apr-97 00:04:48 +protracker.datatype_rev.i
- 15 15 0.0% 29-Apr-97 00:04:48 +protracker.datatype_rev.rev
- 281 168 40.2% 07-Oct-96 19:17:14 +protracker_rev.i
- 14 14 0.0% 07-Oct-96 19:17:14 +protracker_rev.rev
- 628 278 55.7% 29-Apr-97 13:08:12 +ProtrackerDT.info
- 7008 4034 42.4% 19-Aug-97 17:40:04 +protracker.datatype
- 248 195 21.3% 19-Aug-97 17:40:12 +Protracker
- 473 294 37.8% 13-Oct-96 09:16:24 +Protracker.info
- 3 3 0.0% 02-Jul-97 11:05:08 +Protracker
- 643 287 55.3% 29-Apr-97 13:04:08 +Install
- 726 361 50.2% 29-Apr-97 13:07:38 +Install.info
- 1189 650 45.3% 29-Apr-97 13:09:38 +ProtrackerDT.readme
- 468 231 50.6% 29-Apr-97 13:07:38 +ProtrackerDT.readme.info
- 1338 529 60.4% 18-Apr-97 12:31:26 +RomTag.a
- 1246 628 49.5% 03-Jul-97 11:47:36 +SMakefile
- 2635 1234 53.1% 17-Nov-96 16:05:12 +RecordTestQnD.s
- 2280 1544 32.2% 19-Aug-97 17:40:28 +Req-test
- 1915 855 55.3% 28-Jun-97 18:27:28 +req-test.c
- 150 116 22.6% 02-Apr-97 21:59:08 +SCOPTIONS
- 306 168 45.0% 02-Jul-97 10:29:32 +smakefile
- 153 121 20.9% 26-Jan-97 22:52:12 +SCOPTIONS
- 3760 2438 35.1% 19-Aug-97 17:40:40 +SimplePlay
- 10853 2926 73.0% 23-Apr-97 20:09:34 +SimplePlay.c
- 308 172 44.1% 02-Jul-97 10:31:12 +smakefile
- 364 144 60.4% 05-Jul-97 16:49:56 +Makefile
- 4914 993 79.7% 19-Aug-97 17:47:56 +ahi.h
- 3115 696 77.6% 19-Aug-97 17:47:58 +ahi_sub.h
- 53 53 0.0% 15-Nov-96 00:23:00 +ahi_pragmas.h
- 61 61 0.0% 15-Nov-96 00:23:12 +ahi_sub_pragmas.h
- 188 135 28.1% 11-Jan-97 20:26:18 +ahi.h
- 205 144 29.7% 11-Jan-97 20:26:28 +ahi_sub.h
- 14170 4552 67.8% 27-Apr-97 14:08:44 +ahi.i
- 2661 1103 58.5% 02-Apr-97 22:03:52 +ahi_sub.i
- 850 287 66.2% 19-Aug-97 17:47:50 +ahi_lib.i
- 628 226 64.0% 19-Aug-97 17:47:52 +ahi_sub_lib.i
- 2011 632 68.5% 02-Apr-97 22:06:16 +ahi_protos.h
- 1424 503 64.6% 02-Apr-97 22:06:06 +ahi_sub_protos.h
- 14198 4172 70.6% 27-Apr-97 14:08:34 +ahi.h
- 3495 1249 64.2% 18-May-97 16:10:54 +ahi_sub.h
- 396 213 46.2% 19-Aug-97 17:47:58 +ahi.m
- 300 159 47.0% 19-Aug-97 17:48:00 +ahi_sub.m
- 4702 1933 58.8% 19-Aug-97 17:48:04 +ahi.m
- 822 425 48.2% 19-Aug-97 17:48:08 +ahi_sub.m
- 991 432 56.4% 02-Apr-97 22:06:42 +ahi_lib.fd
- 796 313 60.6% 26-Mar-97 23:25:16 +ahi_sub_lib.fd
- 1820 535 70.6% 19-Aug-97 17:47:54 +ahi_pragmas.h
- 1073 331 69.1% 19-Aug-97 17:47:54 +ahi_sub_pragmas.h
- 191 129 32.4% 19-Aug-97 17:47:56 +ahi.h
- 214 138 35.5% 19-Aug-97 17:47:56 +ahi_sub.h
- 1809 521 71.1% 19-Aug-97 17:47:52 +ahi_lib.h
- 1107 344 68.9% 19-Aug-97 17:47:52 +ahi_sub_lib.h
- 186 127 31.7% 19-Aug-97 17:47:52 +ahi.h
- 209 139 33.4% 19-Aug-97 17:47:54 +ahi_sub.h
- 50 48 4.0% 03-Mar-96 17:41:04 +ReadMe.txt
- 4696 2857 39.1% 08-Jul-97 00:25:36 +ScanAudioModes
- 8456 4950 41.4% 31-Dec-95 17:15:38 +sift
- 5765 1912 66.8% 21-May-96 19:19:16 +ScanAudioModes.c
- 85 69 18.8% 08-Jul-97 00:25:26 +SCOPTIONS
- 265 172 35.0% 21-May-96 19:19:30 +smakefile
- 5612 2503 55.3% 31-Dec-95 17:15:38 +sift.c
- 18720 6968 62.7% 19-Aug-97 18:34:26 +History
- 468 231 50.6% 08-Aug-97 17:39:30 +History.info
- 75407 20185 73.2% 19-Aug-97 16:11:28 +Install AHI
- 709 354 50.0% 08-Aug-97 17:39:30 +Install AHI.info
- -------- ------- ----- --------- --------
- 1096205 330622 69.8% 19-Aug-97 21:00:02 162 files
-